附录
事实上,从 dot 的语法及上述的示例中,很容易看出,dot 脚本很容易被其他语言生成。比如,使用一些简单的数据库查询就可以生成数据库中的 ER 图的 dot 脚本。
如果你追求高效的开发速度,并希望快速的将自己的想法画出来,那么 graphviz 是一个很不错的选择。
当然,graphviz 也有一定的局限,比如绘制时序图(序列图)就很难实现。graphviz 的节点出现在画布上的位置事实上是不确定的,依赖于所使用的布局算法,而不是在脚本中出现的位置,这可能使刚开始接触 graphviz 的开发人员有点不适应。graphviz 的强项在于自动 布局,当图中的顶点和边的数目变得很多的时候,才能很好的体会这一特性的好处:
比如上图,或者较上图更复杂的图,如果采用手工绘制显然是不可能的,只能通过 graphviz提供的自动布局引擎来完成。如果仅用于展示模块间的关系,子模块与子模块间通信的方式,模块的逻辑位置等,graphviz 完全可以胜任,但是如果图中对象的物理位置必须是准确的,如节点 A 必须位于左上角,节点 B 必须与 A 相邻等特性,使用 graphviz 则很难做到。毕竟,它的强项是自动布局,事实上,所有的节点对与布局引擎而言,权重在初始时都是相同 的,只是在渲染之后,节点的大小,形状等特性才会影响权重。 本文只是初步介绍了 graphviz 的简单应用,如图的定义,顶点/边的属性定义,如果运行 等,事实上还有很多的属性,如画布的大小,字体的选择,颜色列表等,大家可以通过 graphviz 的官网来找到更详细的资料。
jQuery 大大的方便了开发人员,以很少的代码,用很简洁,优雅的方式就可以使得页面开发简直就是一种乐趣,而 ExtJS 则更侧重于构建华丽而强健的 UI,它提供完整的 UI 框架,包括对 DOM 事件的在包装,WEB 元素组件化,动画,特效,当然也包含 DOM 元 素的操作,当然相对于 jQuery,ExtJS 是一个重量级的框架。
图 ExtJS 示例 1 ExtJS 提供完整的 Demo,读者可以在 ExtJS 的官方网站上下载到最新的包,其中包 括Demo以及详细的文档,还包括ExtJS本身的代码。在本地安装后,部署到服务器上(比如,tomcat,IIS 等),即可看到运行效果:
图 ExtJS 示例 2 点击每一个链接均可进入一个演示,通过这些演示,可以很快的学会 EXTJS 的基本应用,另外,EXTJS 的社区也非常活跃,读者可以与别的爱好者一起讨论,学习。我们这里 就简单的列举两个例子来说明 ExtJS 开发的便捷性和其强大的 UI 封装。
{$ activeFileHint $}